package com.example.jetpack;

import android.util.Log;
import androidx.databinding.ObservableField;

//使用ObserverField的ViewModel

/**
 * ViewModel中使用ObservableField与使用MutableLiveData区别
 * 1、ObservableField只有在数据发生改变时UI才会收到通知，而LiveData不同，只要你postValue或者setValue，UI都会收到通知，不管数据有无变化
 * 2、 LiveData能感知Activity的生命周期，在Activity不活动的时候不会触发，例如一个Activity不在任务栈顶部
 *
 */
public class UserViewModelTwo {

    private ObservableField<UserEntity> observableField;

    public UserViewModelTwo(){
        observableField = new ObservableField<>();
        UserEntity userEntity = new UserEntity();
        userEntity.setName("Petty");
        observableField.set(userEntity);
    }
    public String getUserName(){
        return observableField.get().getName();
    }

    public void setUserName(String userName){
        Log.i("info",userName);
        observableField.get().setName(userName);
    }
}
